#pragma once

#include <common.h>

namespace ir {
  using ArrayType = std::vector<int>;

  class ArrayInfo {
  private:
    ArrayType arr_size;
    bool is_in_range(int index);

  public:
    ArrayInfo(ArrayType & arr_size);
    int depth_size_at(int index);
    int depth_count();
    int arr_size_at(int index);
    int all_size();
    int get_single_index(ArrayType & array_info);
  };
}
